Eecient Flow-sensitive Interprocedural Computation of Pointer-induced Aliases and Side Eeects
نویسندگان
چکیده
We present practical approximation methods for computing interprocedural aliases and side eeects for a program written in a language that includes pointers, reference parameters and recursion. We present the following results: 1) An algorithm for ow-sensitive interprocedural alias analysis which is more precise and eecient than the best inter-procedural method known. 2) An extension of traditional ow-insensitive alias analysis which accommodates pointers and provides a framework for a family of algorithms which trade oo precision for eeciency. 3) An algorithm which correctly computes side eeects in the presence of pointers. Pointers cannot be correctly handled by conventional methods for side eeect analysis. 4) An alias naming technique which handles dynamically allocated objects and guarantees the correctness of data-ow analysis. 5) A compact representation based on transitive reduction which does not result in a loss of precision and improves precision in some cases. 6) A method for intraprocedural alias analysis which is based on a sparse representation .
منابع مشابه
Ibm Research Report Eecient Flow-insensitive Alias Analysis in the Presence of Point- Ers Flow-insensitive Interprocedural Alias Analysis in the Presence of Pointers
This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and speciic requests. After outside...
متن کاملFlow-Insensitive Interprocedural Alias Analysis in the Presence of Pointers
Data-ow analysis algorithms can be classiied into two categories: ow-sensitive and ow-insensitive. To improve eeciency, ow-insensitive interprocedural analyses do not make use of the intrapro-cedural control ow information associated with individual procedures. Since pointer-induced aliases can change within a procedure, applying known ow-insensitive analyses can result in either incorrect or o...
متن کاملFully Automatic Verification of Absence of Errors via Interprocedural Integer Analysis
We present a interprocedural C String Static Verifier (iCSSV), a whole program analysis algorithm for verifying the safety of string operations in C programs. The algorithm automatically proves linear relationships among pointer expressions. The algorithm is conservative, i.e., it infers only valid relationships although it may fail to detect some of them. The algorithm is targeted to programs ...
متن کاملEfficient Flow-Sensitive Interprocedural Data-Flow Analysis in the Presence of Pointers
This paper presents a new worklist algorithm that significantly speeds up a large class of flow-sensitive data-flow analyses, including typestate error checking and pointer analysis. Our algorithm works particularly well for interprocedural analyses. By contrast, traditional algorithms work well for individual procedures but do not scale well to interprocedural analysis because they spend too m...
متن کاملA Logic for Information Flow Analysis of Pointer Programs
This paper specifies a nontermination-insensitive, interprocedural, information flow analysis for objectoriented programs via a Hoare-like logic. Pointer aliasing is ubiquitous in such programs, and can potentially leak confidential information. Therefore, assertions in the logic not only describe the noninterference property that formalizes confidentiality, but also describe aliasing propertie...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993